import java.util.ArrayList;

import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;

import farmacia.entidade.estoque.Substancia;


public class ModeloCombobox extends AbstractListModel implements ComboBoxModel {

	private static final long serialVersionUID = -5909856485211809081L;
	
	// Lista que representa os dados da comboBox
	ArrayList<Substancia> dados = new ArrayList<Substancia>();
	
	// Atributo onde será armazenado o valor do item selecionado na comboBox.
	String selecionado = null;
			
	
	public Object getElementAt(int index) {
		return dados.get(index);
	}	

	public int getSize() {
		return dados.size();
	}
	
	public void setSelectedItem(Object newItem){				
		selecionado = (String)newItem;						
	}
	
	public Object getSelectedItem(){
		if(selecionado == null && dados.size() > 0){
			selecionado = dados.get(0);
		}
		return selecionado;
	}	
	
	/**
	 * Método responsável por adicionar valores na comboBox.
	 * @param String[] listaDados - Dados a serem adicionados.
	 */
	public void addAll(String[] listaDados) {
		this.dados.clear();
		setSelectedItem(null);
		
		for(String dado : listaDados){
			// Adicionando na comboBox item por item.
			this.dados.add(dado);
			//Atualiza o visual da comboBox a cada item adicionado.
			fireIntervalAdded(dado, 0, 0);
		}
		
	}
}
